package com.apis.role;

import com.domain.dto.PageDTO;
import com.domain.dto.role.*;
import com.domain.query.role.RoleQuery;
import com.domain.vo.JsonVO;
import io.swagger.v3.core.util.Json;

import java.util.List;

public interface RoleApis {
    //查询用户列表
    JsonVO<PageDTO<RoleDTO>> queryRoleList(RoleQuery roleQuery);

    //根据用户id来查询角色列表
//    JsonVO<RoleDTO> queryRoleByUserId(Integer userId);

    //根据角色id来查询角色列表
     JsonVO<RoleDTO> queryRoleByRoleId(Integer roleId);

    //新增角色
     JsonVO<Integer> addRole(AddRoleDTO addRoleDTO);

    //修改角色
     JsonVO<Integer> modifyRole(ModifyRoleDTO modifyRoleDTO);

    //删除角色
     JsonVO<Integer> removeRole(List<Integer> roleIds);

     //查询角色对应的用户列表
    JsonVO<List<String>> queryUserNameListByRoleId(Integer roleId);

    //查询角色对应的权限
    JsonVO<List<String>> queryPermissionNameListByRoleId(Integer roleId);

    //修改角色权限
    JsonVO<Integer> modifyRolePermission(ModifyRolePermissionDTO modifyRolePermissionDTO);

    //查询角色权限树
    JsonVO<List<PermissionTreeDTO>> getPermissionTree(Integer roleId);
}
